package com.dawn.module.mp.dal.dataobject.msgtemplate;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import com.dawn.framework.mybatis.core.dataobject.BaseDO;
import me.chanjar.weixin.mp.bean.template.WxMpTemplate;

/**
 * 模板消息 DO
 *
 * @author mamba 4 left
 */
@TableName("mp_msg_template")
@KeySequence("mp_msg_template_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class MsgTemplateDO extends BaseDO {

    /**
     * 主键
     */
    @TableId
    private Long id;
    /**
     * appid
     */
    private String appid;
    /**
     * 微信公众号ID
     */
    private Long accountId;
    /**
     * 公众号模板ID
     */
    private String templateId;
    /**
     * 模版名称
     */
    private String name;
    /**
     * 标题
     */
    private String title;
    /**
     * 模板内容
     */
    private String content;
    /**
     * 消息内容
     */
    private JSONArray data;
    /**
     * 链接
     */
    private String url;
    /**
     * 小程序信息
     */
    private JSONObject miniprogram;
    /**
     * 是否有效
     */
    private Boolean status;

    public MsgTemplateDO(WxMpTemplate mpTemplate, Long accountId, String appid) {
        this.appid = appid;
        this.accountId = accountId;
        this.templateId = mpTemplate.getTemplateId();
        this.title = mpTemplate.getTitle();
        this.name = mpTemplate.getTemplateId();
        this.content = mpTemplate.getContent();
        this.status = true;
    }
}
